package shujia.day04.ketang;

/*
    我们正常编写学生类和创建学生对象并赋值，都没问题
    但是给年龄赋值的时候，可以赋值一些不合逻辑现实的值，这不应该可以赋值上才对
    我们应该在赋值之前，先做判断，判断年龄是不是合法的，如果是才可以进行赋值，否则不行
    可以在类中写一个对成员变量进行赋值的方法，将来给成员变量赋值的时候，就可以调用该方法进行赋值

    我们虽然写了一个判断赋值的方法，但是谁规定了一定要用这个方法呢，以前的做法依旧可以。
    就在想，如何强制使用我们写的方法进行赋值呢？换句话说，以前的赋值方式不能使用了。

    java提供了一个关键字：private
    可以修饰成员变量，成员方法，被修饰的成员，在其他类中无法直接使用。但是在本类中是透明随便使用的

 */
class Student3 {
    String name;
    private int age;

    public void setAge(int a){
        if(a>0 && a<=100){
            age = a;
        }else {
            System.out.println("您给的年龄不合法，已经设置为默认年龄18");
            age = 18;
        }
    }

    public int getAge(){
        return age;
    }
}

public class PrivateDemo1 {
    public static void main(String[] args) {
        Student3 s1 = new Student3();
        s1.name = "小虎";
//        s1.age = 1892;
        s1.setAge(29);

        System.out.println("姓名：" + s1.name + ", 年龄：" + s1.getAge());

    }
}
